package client.gui;

import javax.swing.ImageIcon;
import javax.swing.JButton;

/**
 * permet de representer une carte avec une image
 */
@SuppressWarnings("serial")
public class Carte extends JButton implements choixCartes {
	/**
	 * l'image de la carte
	 */
	private ImageIcon image;

	/**
	 * permet de crerer une carte sans initialiser son image
	 */
	public Carte() {
	};

	/**
	 * permet de creer une carte avec une image
	 * 
	 * @param img
	 *            est le nom de l'image
	 * @param choix
	 *            est la taille de la carte
	 * @param afficher
	 *            true si on veut afficher la carte
	 */
	public Carte(String img, int choix, boolean afficher) {
		ClassLoader cldr = this.getClass().getClassLoader();
		String chemin = "";
		switch (choix) {
		case PETITE:
			chemin = CHEMIN_CARTES_PETIT + img + ".png";
			break;
		case MOYENNE:
			chemin = CHEMIN_CARTES_MOYEN + img + ".png";
			break;
		case GRANDE:
			chemin = CHEMIN_CARTES_GRAND + img + ".png";
		}
		java.net.URL imageURL = cldr.getResource(chemin);
		image = new ImageIcon(imageURL);
		setIcon(image);
		setSize(image.getIconWidth(), image.getIconHeight());
		setVisible(afficher);
	}

	/**
	 * permet de mettre une image sur la carte
	 * 
	 * @param img
	 *            est le nom de l'image sans le type
	 * @param taille
	 *            est la taille de l'image(interface choixCartes)
	 */
	public void setImage(String img, int taille) {
		ClassLoader cldr = this.getClass().getClassLoader();
		String chemin = "";
		switch (taille) {
		case PETITE:
			chemin = CHEMIN_CARTES_PETIT + img + ".png";
			break;
		case MOYENNE:
			chemin = CHEMIN_CARTES_MOYEN + img + ".png";
			break;
		case GRANDE:
			chemin = CHEMIN_CARTES_GRAND + img + ".png";
		}
		java.net.URL imageURL = cldr.getResource(chemin);
		image = new ImageIcon(imageURL);
		setIcon(image);
		setSize(image.getIconWidth(), image.getIconHeight());
	}
}
